<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"      
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
    </h:head>
    <h:body>
        <ui:composition template="/WEB-INF/facelets/templates/TemplatePagina.xhtml">
            <ui:define name="contenido">
                <p:tabView id="CategoriaTabView" dynamic="true" orientation="top" activeIndex="#{bCategoriaProducto.activeTabIndex}">
                                        
                    <p:tab id="tab_registrar" title="#{msg.registro}">
                        <h:form id="form_reg_categoria" style="text-align: justify">
                            <p:growl globalOnly="true"  id="est_reg_categoria" sticky="false"  showDetail="true"  />
                            <p:panel id="pnl_reg_categoria" header="#{msg.datosde} #{msg.catProd}" styleClass="border">
                                <h:panelGrid columns="2" style="padding-left: 150px; font-weight:bold">
                                    
                                    <h:outputText value="#{msg.nombre} #{msg.campoRequerido}" />
                                    <h:panelGroup style="padding-left: 100px">
                                        <p:inputText id="nom_categoria" required="true" requiredMessage="#{msg.campoRequerido}" style="width: 300px"
                                                     maxlength="30" validatorMessage="#{msg.datoNOvalido}" title="#{msg.maximoNombres}" 
                                                     value="#{bCategoriaProducto.objCategoriaProducto_Reg.descripcion}"> 
                                            <f:validateLength minimum="2"  maximum="30" />    
                                        </p:inputText>
                                        <h:message for="nom_categoria" showDetail="false" showSummary="true" styleClass="errors"/>                                         
                                    </h:panelGroup>
                                    
                                    <div align="center" >     
                                        
                                        <h:panelGrid columns="2" cellpadding="10"  cellspacing="10" style="text-align: center;" width="90%">                                                                    
                                            <h:panelGroup>
                                                <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="40%">
                                                    <p:commandButton icon="ui-icon-arrowrefresh-1-w" actionListener="#{bCategoriaProducto.doIniciarCategoriaProductoRegistrar()}" 
                                                          value="#{msg.limpiar}" update="form_reg_categoria"  />
                                                </h:panelGrid>
                                            </h:panelGroup>
                                            <h:panelGroup>
                                                <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="40%">
                                                    <p:commandButton  icon="ui-icon-disk" actionListener="#{bCategoriaProducto.doCategoriaRegistra()}" value="#{msg.guardar}"   
                                                          update="form_reg_categoria, est_reg_categoria"/>
                                                </h:panelGrid>
                                            </h:panelGroup>  
                                        </h:panelGrid>
                                                 
                                    </div>
                                    
                                </h:panelGrid>
                            </p:panel>
                            
                        </h:form>
                    </p:tab>
                    
                    <p:tab id="tab_listar"  title="#{msg.lista}" titletip="#{msg.lista}">
                        <h:form id="form_mostrar_listado">
                            <p:panel id="pnl_lista_categoria" header="#{msg.lista}" styleClass="border">
                                <h:panelGrid columns="1" cellpadding="10">
                                    <h:panelGroup>
                                        <h:outputText value="#{msg.opcionesLista}"/>
                                    </h:panelGroup>
                                </h:panelGrid>
                                
                                <h:panelGrid columns="3" cellpadding="2" cellspacing="2" 
                                    style="text-align: center;" width="100%">
                                    
                                    <p:commandButton id="newBtn" icon="ui-icon-document" actionListener="#{bCategoriaProducto.doIniciarCategoriaProductoListar()}"
                                                     value="#{msg.nuevo}" async="true" update="form_mostrar_listado:pnl_lista_categoria" />

                                    <p:commandButton id="searchBtn" icon="ui-icon-search" actionListener="#{bCategoriaProducto.doListarCategoria()}"
                                                     value="#{msg.lista}" async="true" update="pnl_lista_categoria"/>
                                    
                                </h:panelGrid>
                                
                                <center>
                                
                                <h:panelGrid columns="2" rendered="#{bCategoriaProducto.sizeRegistrosCategoria ne '0'}">
                                    <h:outputText styleClass="etiqueta_resultBusq" value="#{msg.nro}"/>
                                    <h:outputText styleClass="etiqueta_resultBusq" value="#{bCategoriaProducto.arr_CategoriaProducto.size()}"/>                                        
                                </h:panelGrid>
                                
                                <h:panelGrid columns="1" rendered="#{bCategoriaProducto.sizeRegistrosCategoria ne '0'}"
                                             cellpadding="0" cellspacing="0" border="0" styleClass="width-table">
                                    <p:dataTable id="res_listar_categoria" value="#{bCategoriaProducto.arr_CategoriaProducto}" var="listCat"
                                            styleClass="order-table" paginator="true" rows="5" rowsPerPageTemplate="5,10,15,20,25,30,50"
                                            paginatorPosition="both" paginatorAlwaysVisible="true"
                                            tableStyle="tablecolBusqSimpOrdTrab1,tablecolBusqSimpOrdTrab2,tablecolBusqSimpOrdTrab2,
                                            tablecolBusqSimpOrdTrab4,tablecolBusqSimpOrdTrab5,tablecolBusqSimpOrdTrab6">
                                        
                                        <p:column headerText="#{msg.codigo}">                                            
                                            <h:outputText value="#{listCat.cod_categoria}"/>
                                        </p:column>
                                        <p:column headerText="#{msg.nombre}" filterBy="#{listCat.descripcion}" >                                            
                                            <h:outputText value="#{listCat.descripcion}"/>
                                        </p:column>
                                        <p:column headerText="#{msg.estado}"  >                                            
                                            <h:outputText value="#{listCat.est}"/>
                                        </p:column>
                                        
                                        <p:column headerText="#{msg.editar}" exportable="false" >                                            
                                            <p:commandLink id="editarList" title="#{msg.editar}" value="#{msg.editar}" actionListener="#{bCategoriaProducto.onClickBusq}"
                                                           action="#{bCategoriaProducto.modificarCategoriaProducto(listCat)}" 
                                                           async="true" update=":CategoriaTabView, :CategoriaTabView:formActualizarCategoria">
                                                <f:attribute name="param" value="#{1}" />
                                             </p:commandLink>
                                        </p:column>
                                        
                                        <p:column headerText="#{msg.elimina}" exportable="false" >                                            
                                            <p:commandLink id="eliminarList" title="#{msg.elimina}" value="#{msg.elimina}" actionListener="#{bCategoriaProducto.onClickBusq}"
                                                           action="#{bCategoriaProducto.eliminarCategoriaProducto(listCat)}" 
                                                           async="true" update=":CategoriaTabView, :CategoriaTabView:formEliminarCategoria">
                                                <f:attribute name="param" value="#{1}" />
                                             </p:commandLink>
                                        </p:column>
                                        
                                    </p:dataTable>
                                </h:panelGrid>                              
                                
                                </center>
                                
                            </p:panel>
                        </h:form>
                            
                    </p:tab>
                    
                    <p:tab id="tabActualizarCategoria" title="#{msg.modifica}" titletip="#{msg.actualiza} #{msg.catProd}"  disabled="#{bCategoriaProducto.bandMod}">
                        <h:form id="formActualizarCategoria" class="titulo" style="text-align: justify" rendered="true">
                            <p:growl globalOnly="true"  id="estadoActualizarCategoria" sticky="false"  showDetail="true"  />
                            <p:panel id="verDatosCategoria" header="#{msg.catProd}" styleClass="border">
                                <p:fieldset legend="#{msg.datosde} #{msg.catProd}"  styleClass="border">
                                    <h:panelGrid columns="2"  cellpadding="2"  cellspacing="6"   styleClass="panelColumns" columnClasses="labelOT, valueOT"  >
                                        <h:outputText  value="#{msg.codigo}"  style="width:350px;font-weight:bold;"/>
                                        <h:outputText  value="#{bCategoriaProducto.objCategoriaProducto_Mod.cod_categoria}"  style="width:350px;font-weight:bold;"/>
                                        <h:outputText  value="#{msg.descripcion}"  style="width:350px;font-weight:bold;"/>
                                        <h:panelGroup style="padding-left: 100px">
                                            <p:inputText id="descripcion_mod" required="true" requiredMessage="#{msg.campoRequerido}" style="width: 300px"
                                                         maxlength="30" validatorMessage="#{msg.datoNOvalido}" title="#{msg.maximoApel}" 
                                                         value="#{bCategoriaProducto.objCategoriaProducto_Mod.descripcion}"> 
                                                <f:validateLength minimum="0"  maximum="30" />    
                                            </p:inputText>
                                            <h:message for="descripcion_mod" showDetail="false" showSummary="true" styleClass="errors"/> 
                                        </h:panelGroup>
                                                                                
                                    </h:panelGrid>
                                </p:fieldset>
                                
                                <h:panelGrid columns="2" cellpadding="4"  cellspacing="4" style="text-align: center;" width="100%">
                                    <h:panelGroup>
                                        <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="100%">
                                            <p:commandButton icon="ui-icon-triangle-1-w" actionListener="#{bCategoriaProducto.desactivaTabMod()}"   value="#{msg.volver}" 
                                                             immediate="true" async="true" update=":CategoriaTabView, :CategoriaTabView:form_mostrar_listado, estadoActualizarCategoria"/>
                                        </h:panelGrid>
                                    </h:panelGroup>
                                    <h:panelGroup>
                                        <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="100%">
                                            <p:commandButton icon="ui-icon-arrowrefresh-1-s" actionListener="#{bCategoriaProducto.doModificarCategoriaProducto()}"  value="#{msg.modifica}" 
                                                             async="true" update=":CategoriaTabView, :CategoriaTabView:form_mostrar_listado,estadoActualizarCategoria"/>
                                        </h:panelGrid>
                                    </h:panelGroup>
                                </h:panelGrid>
                                
                            </p:panel>
                        </h:form>
                    </p:tab>
                    
                    <p:tab id="tab_eliminar_categoria" title="#{msg.elimina}" titletip="#{msg.elimina}"  disabled="#{bCategoriaProducto.bandEli}">
                        <h:form class="border_titulo1" id="formEliminarCategoria"   style="text-align : justify;">
                            <p:growl globalOnly="true"  id="estadoEliminarCategoria" sticky="false"  showDetail="true"  />
                            <p:panel id="eliminarCategoria" header="#{msg.elimina}" styleClass="border">
                                <p:fieldset legend="#{msg.datosde} #{msg.categoria}"  styleClass="border">
                                    <h:panelGrid columns="2"  cellpadding="2"  cellspacing="6"   
                                                 styleClass="panelColumns" columnClasses="labelOT, valueOT"  >
                                        
                                        <h:outputText value="#{msg.codigo}" />  
                                        <h:outputText value="#{bCategoriaProducto.objCategoriaProducto_Elimina.cod_categoria}"/>
                                        <h:outputText  value="#{msg.nombre}"/>
                                        <h:outputText value="#{bCategoriaProducto.objCategoriaProducto_Elimina.descripcion}"/>
                                                     
                                    </h:panelGrid>
                                </p:fieldset>
                                
                                <h:panelGrid columns="2" cellpadding="4"  cellspacing="4" style="text-align: center;" width="100%">
                                    <h:panelGroup>
                                        <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="100%">
                                            <p:commandButton icon="ui-icon-triangle-1-w" actionListener="#{bCategoriaProducto.desactivaTabElim()}"   
                                                             value="#{msg.volver}" immediate="true" async="true" 
                                                             update=":CategoriaTabView, formEliminarCategoria, :CategoriaTabView:form_mostrar_listado"/>
                                        </h:panelGrid>
                                    </h:panelGroup>
                                    
                                    <h:panelGroup>
                                        <h:panelGrid columns="1" cellpadding="2"  cellspacing="2" style="text-align: center;" width="100%">
                                            <p:commandButton icon="ui-icon-trash" actionListener="#{bCategoriaProducto.doEliminarCategoriaProducto()}"  value="#{msg.elimina}"
                                                             onclick="if (!confirm('Categoria: #{bCategoriaProducto.objCategoriaProducto_Elimina.cod_categoria} \nEstá ud. seguro que desea Eliminar? \nVerifique los datos antes de hacerlo.\nNOTA:La eliminación quedará registrada en el Módulo de Auditoría.')) return false" 
                                                             async="false" update=":CategoriaTabView, :CategoriaTabView:form_mostrar_listado, estadoEliminarCategoria"/>                                            
                                        </h:panelGrid>
                                    </h:panelGroup>
                                </h:panelGrid>
                                
                            </p:panel>
                        </h:form>
                    </p:tab>
                    
                </p:tabView>
                    
            </ui:define>
        </ui:composition>
    </h:body>
</html>

